Accumulateur (informatique)

En informatique, un accumulateur est un registre spécial, incorporé dans certaines architectures de processeur, où les résultats intermédiaires de l'UAL, ou ALU en anglais (arithmetic logical unit), sont stockés[1]. Sans accumulateur, il faudrait verser le résultat de l'UAL dans la mémoire centrale, puis le recharger pour effectuer l'opération suivante dont le résultat serait à son tour versé dans la mémoire centrale, etc. Cette façon de faire ralentirait considérablement les opérations, car les accès à la mémoire centrale sont beaucoup plus lents que ceux faits sur un registre interne à l'ALU, tel un accumulateur.

Certains processeurs ne possèdent qu'un seul accumulateur comme le 6502 de MOS Technology ou encore les Intel i4004, i4040 et i8008. D'autre processeur eux ont plusieurs accumulateurs. C'est le cas des microprocesseurs 6800 et 6809 de Motorola qui pour leur part comportent deux accumulateurs à savoir A et B. Ou encore du Hitachi 6309 qui possède quatre accumulateurs (A, B, E, F). Le PDP-8 de Digital Equipment Corporation est un mini-ordinateur qui n'avait qu'un seul accumulateur. Tandis que le mini-ordinateur Nova de Data General en possédaient quatre (AC0, AC1, AC2, AC3).

Le microcontrôleur 8051 possède également deux accumulateurs, un accumulateur primaire et un accumulateur secondaire, le second est utilisé uniquement par les instructions de multiplication (MUL AB) et de division (DIV AB); la première opération partage le résultat 16 bits entre les deux accumulateurs 8 bits, tandis que la seconde verse le quotient dans l'accumulateur principal A et le reste dans l'accumulateur secondaire B. Le 6809 de Motorola use de la même astuce en combinant ses accumulateurs A et B en un accumulateur D 16 bits, le 6803 d'Hitachi va encore plus loin en compose un accumulateur Q de 32 bits.

  1. R. Zaks, La programmation du 6502, Sybex, , « 2. Organisation matérielle du 6502 : Les registres du 6502 »

Developed by StudentB